#1.cmake verson，指定cmake版本
cmake_minimum_required(VERSION 3.4)

#2.project name，指定项目的名称，一般和项目的文件夹名称对应
PROJECT(client)


#设置C++标准
set(CMAKE_CXX_STANDARD 14)


#head file path，头文件目录
include_directories(
    ${CMAKE_SOURCE_DIR}/httplib
)

#source directory，源文件目录
aux_source_directory(${CMAKE_SOURCE_DIR}/client DIR_SRCS)

# Definitions
add_definitions(
    -DCPPHTTPLIB_OPENSSL_SUPPORT
)

#5.set environment variable，设置环境变量，编译用到的源文件全部都要放到这里，否则编译能够通过，但是执行的时候会出现各种问题，比如"symbol lookup error xxxxx , undefined symbol"
SET(TEST_MATH
${DIR_SRCS}
)

#6.add executable file，添加要编译的可执行文件
ADD_EXECUTABLE(${PROJECT_NAME} ${TEST_MATH})

#7.add link library，添加可执行文件所需要的库，比如我们用到了libm.so（命名规则：lib+name+.so），就添加该库的名称
TARGET_LINK_LIBRARIES(${PROJECT_NAME} pthread ssl crypto)


# Build command
add_custom_command(
    TARGET ${PROJECT_NAME} POST_BUILD
    COMMAND ${CMAKE_COMMAND} -E copy_if_different ${PROJECT_NAME} "../../release/${PROJECT_NAME}"
    COMMENT "copy ${PROJECT_NAME} to ../../release/${PROJECT_NAME}"
)
